
/**
* @param {返回日期（带时分秒），可设置具体格式}
* showTimeDetail: 是否显示时分秒
* firstDateIntervalFormat: 年月日之间间隔格式，默认为 "-"
* firstDateFormat: 时间格式，默认为true：大于9则返回原值，大于0则返回`0${值}`，等于0则返回 "00"，false时返回原值
*/
export const getDateYYMMDD = ({ firstDateIntervalFormat = '-', timestamp = new Date.getTime(), showTimeDetail = true, firstDateFormat = true}) => {
  if(typeof timestamp != 'number') timestamp = Number(timestamp)
  const date = new Date(timestamp), // 时间戳为秒需*1000，为毫秒的话不需乘1000
      Y = date.getFullYear() + firstDateIntervalFormat,
      M = (firstDateFormat ? (returnTimeFormatDetail(date.getMonth() + 1)) : date.getMonth() + 1 ) + firstDateIntervalFormat,
      D = (firstDateFormat ? returnTimeFormatDetail(date.getDate()) : date.getDate()) + (showTimeDetail ? ' ' : '');
  if(showTimeDetail){
      const h = (firstDateFormat ? returnTimeFormatDetail(date.getHours()) : date.getHours()) + ':',
      m = (firstDateFormat ? returnTimeFormatDetail(date.getMinutes()) : date.getMinutes()) + ':',
      s = (firstDateFormat ? returnTimeFormatDetail(date.getSeconds()) : date.getSeconds());
      return Y + M + D + h + m + s
  }
  return Y + M + D
}

// 返回时间具体格式，如0，则返回00，小于10返回`0${值}`,大于等于10则返回值
export function returnTimeFormatDetail(num) {
 if(num == 0){
     return '00'
 }else if(num < 10){
     return `0${num}`
 }
 return num
}

//秒数  转换为 天时分秒等
export function secondFormat(second) {
 // 天数位
 var day = Math.floor(second / 24 / 3600);

 // 小时位
 var hr = Math.floor((second - day * 24 * 3600) / 3600);
 // 分钟位
 var min = Math.floor((second - day * 24 * 3600 - hr * 3600) / 60);
 // 秒位
 var sec = (second - day * 24 * 3600 - hr * 3600 - min * 60); // 

 if (day > 0) {
   return setnum(day) + ' 天 ' + setnum(hr) + ":" + setnum(min) + ":" + setnum(sec);
 }
 else {
   return setnum(hr) + ":" + setnum(min) + ":" + setnum(sec);
 }

};
function secondFormat2(second, item) {
 // 天数位
 var day = Math.floor(second / 24 / 3600);

 // 小时位
 var hr = Math.floor((second - day * 24 * 3600) / 3600);
 // 分钟位
 var min = Math.floor((second - day * 24 * 3600 - hr * 3600) / 60);
 // 秒位
 var sec = (second - day * 24 * 3600 - hr * 3600 - min * 60); // 
 if (day == 0 && hr == 0 && min <= 5) {
   item.hasRemind = false
 }
 if (day > 0) {
   item.day = day
 }
 item.hr =  setnum(hr);
 item.min = setnum(min);
 item.sec = setnum(sec);

};
// 格式数字为两位  如 1 显示为01
function setnum(num) {
 if (num < 10) {
   num = '0' + num;
 }
 return num;
};

module.exports = {
 cutdownTime: cutdownTime,
 secondFormat: secondForma,
 getDateYYMMDD,
}
